﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Idte.Common.Patterns
{
    public interface IComponent
    {
        string Code { get; }
        int? Sequence { get; }

    }

    public interface IComposite<TComponent> : IComponent 
    {
        void Add(TComponent component);
        bool Remove(TComponent component);
        ICollection<TComponent> Children { get; }
    }

    public interface IComposite : IComposite<IComponent> { }

}
